Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[YUNIKORN-1875] Support for Compressed Encoded configMap BinaryData, gzip compression support #675

Closed
wants to merge 3 commits into from

Conversation

sidbroski
Copy link

@sidbroski sidbroski commented Sep 15, 2023

What is this PR for?

A config map on K8s can only be 1MB. Thus a larger config map could be sent by compressing, encoding, and storing in configMap.BinaryData.

This commit makes Yunikorn support gzip compressed 64bit encoded BinaryData.

What type of PR is it?

  • - Bug Fix
  • - Improvement
  • - Feature
  • - Documentation
  • - Hot Fix
  • - Refactoring

Todos

  • - Task

What is the Jira issue?

YUNIKORN-1875

How should this be tested?

Screenshots (if appropriate)

Questions:

  • - The licenses files need update.
  • - There is breaking changes for older versions.
  • - It needs documentation.

…gzip support

A config map on K8s can only be 1MB. Thus a larger config map could be sent by compressing, encoding, and storing in configMap.BinaryData.

This commit makes Yunikorn support gzip compressed 64bit encoded BinaryData.
pkg/common/utils/utils_test.go Outdated Show resolved Hide resolved
pkg/conf/schedulerconf.go Show resolved Hide resolved
pkg/conf/schedulerconf_test.go Outdated Show resolved Hide resolved
pkg/conf/schedulerconf_test.go Outdated Show resolved Hide resolved
pkg/conf/schedulerconf_test.go Outdated Show resolved Hide resolved
pkg/conf/schedulerconf_test.go Outdated Show resolved Hide resolved
Import ordering changes, error handling and logging for gzipReader close, added testcases for decompress.
@sidbroski sidbroski requested a review from wilfred-s September 15, 2023 07:28
Copy link
Contributor

@wilfred-s wilfred-s left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Shadow declaration of err variable removed.
@codecov
Copy link

codecov bot commented Sep 19, 2023

Codecov Report

Merging #675 (e75ac0f) into master (0b3ea77) will decrease coverage by 0.10%.
Report is 1 commits behind head on master.
The diff coverage is 55.88%.

@@            Coverage Diff             @@
##           master     #675      +/-   ##
==========================================
- Coverage   71.92%   71.83%   -0.10%     
==========================================
  Files          51       51              
  Lines        8082     8116      +34     
==========================================
+ Hits         5813     5830      +17     
- Misses       2073     2086      +13     
- Partials      196      200       +4     
Files Changed Coverage Δ
pkg/conf/schedulerconf.go 74.21% <55.88%> (-2.20%) ⬇️

... and 1 file with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@wilfred-s
Copy link
Contributor

waiting for the build to finish before committing

@chia7712
Copy link
Member

chia7712 commented Jan 4, 2024

@sidbroski hi, I come from #752

It seems this feature encounters the base64 decoding error. Just curious, have you launched this function in your machine? If so, please share the k8s version or env to us. I want to avoid the compatibility issue if #752 removes the explicit decoding from yunikorn.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants